home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-26 | 12.0 KB | 467 lines | [TEXT/MPS ] |
- {********************************************
- ; File: Finder.p
- ;
- ;
- ; Copyright Apple Computer, Inc. 1991-92
- ; All Rights Reserved
- ;
- ********************************************}
-
- UNIT Finder;
-
- INTERFACE
-
- USES TYPES, GSOS, QUICKDRAW, EVENTS, CONTROLS, WINDOWS;
-
- CONST
- { target string for SendRequest to Finder }
- nameOfFinder = 'Apple~Finder~';
-
- { SendRequest codes sent by the Finder }
- finderSaysHello = $0100;
- finderSaysGoodbye = $0101;
- finderSaysSelectionChanged = $0102;
- finderSaysMItemSelected = $0103;
- finderSaysBeforeOpen = $0104;
- finderSaysOpenFailed = $0105;
- finderSaysBeforeCopy = $0106;
- finderSaysIdle = $0107;
- finderSaysExtrasChosen = $0108;
- finderSaysBeforeRename = $0109;
- finderSaysKeyHit = $010A;
-
- { SendRequest codes sent to the Finder (target = "Apple~Finder~") }
- tellFinderGetDebugInfo = $8000;
- tellFinderAreYouThere = $8001;
- askFinderAreYouThere = $8001;
- tellFinderOpenWindow = $8002;
- tellFinderCloseWindow = $8003;
- tellFinderGetSelectedIcons = $8004;
- tellFinderSetSelectedIcons = $8005;
- tellFinderLaunchThis = $8006;
- tellFinderShutDown = $8007;
- tellFinderMItemSelected = $8008;
- tellFinderMatchFileToIcon = $800A;
- tellFinderAddBundle = $800B;
- tellFinderAboutChange = $800C;
- tellFinderCheckDatabase = $800D;
- tellFinderColorSelection = $800E;
- tellFinderAddToExtras = $800F;
- tellFinderIdleHowLong = $8011;
- askFinderIdleHowLong = $8011;
- tellFinderGetWindowIcons = $8012;
- tellFinderGetWindowInfo = $8013;
- tellFinderRemoveFromExtras = $8014;
- tellFinderSpecialPreferences = $8015;
-
- { Finder menu item IDs }
- finderItemAbout = $012D;
- finderItemHelp = $012E;
- finderItemNewFolder = $015F;
- finderItemOpen = $0160;
- finderItemPrint = $0161;
- finderItemClose = $0162;
- finderItemCloseAll = $0163;
- finderItemDuplicate = $0164;
- finderItemPutAway = $0165;
- finderItemValidate = $0166;
- finderItemUndo = $00FA;
- finderItemCut = $00FB;
- finderItemCopy = $00FC;
- finderItemPaste = $00FD;
- finderItemClear = $00FE;
- finderItemSelectAll = $0191;
- finderItemShowClipboard = $0192;
- finderItemStackWindows = $01C3;
- finderItemByIcon = $01F5;
- finderItemBySmallIcon = $01F6;
- finderItemByName = $01F7;
- finderItemByDate = $01F8;
- finderItemBySize = $01F9;
- finderItemByKind = $01FA;
- finderItemFormat = $0227;
- finderItemErase = $0228;
- finderItemVerify = $0229;
- finderItemEject = $022A;
- finderItemCleanUp = $0259;
- finderItemEmptyTrash = $025A;
- finderItemPreferences = $025B;
- finderItemIconInfo = $025C;
- finderItemShutDown = $025D;
- finderItemCleanUpByName = $025E;
- finderItemColorBlack = $028B;
- finderItemColorBlue = $028C;
- finderItemColorYellowBrown = $028D;
- finderItemColorGray1 = $028E;
- finderItemColorRed = $028F;
- finderItemColorPurple = $0290;
- finderItemColorOrange = $0291;
- finderItemColorPink = $0292;
- finderItemColorDarkGreen = $0293;
- finderItemColorAqua = $0294;
- finderItemColorBrightGreen = $0295;
- finderItemColorPaleGreen = $0296;
- finderItemColorPeriwinkleBlue = $0298;
- finderItemColorYellow = $0299;
- finderItemColorWhite = $029A;
-
- { Finder SendRequest Result Error Codes }
- fErrNoError = $0000; { no error }
- fErrBadInput = $4201; { bad input value }
- fErrFailed = $4202; { could not complete request }
- fErrCancel = $4203; { user cancelled operation }
- fErrDimmed = $4204; { menu item was dimmed }
- fErrBusy = $4205; { not now, Finder has a headache }
- fErrNotPrudent = $4206; { can't add Finder's resources to desktop file }
- fErrBadBundle = $4207; { unknown rBundle version, or rBundle damaged }
- fErrNotImp = $42FF; { request not implemented }
-
- { icFlag values within an iconObj }
- ICSELECTED = $00000001;
- ICOPENED = $00000002;
- ICOFFLINE = $00000004;
- ICEXTENDED = $00000008;
- ICLOCKED = $00000080;
- ICFORECLR = $00000f00;
- ICBACKCLR = $0000F000;
- ICNETACCESS = $000F0000;
- ICNETWORK = $01000000;
- ICREADABLE = $02000000;
-
- TYPE
-
- { general Finder data structures }
-
- iconObjHandle = ^iconObjPtr;
- iconObjPtr = ^iconObj;
- iconObj = RECORD
- icNext: iconObjHandle;
- icLast: iconObjHandle;
- icMom: WindowPtr;
- icWind: WindowPtr;
- icDisk: iconObjHandle;
- icFlag: longint;
- icFType: integer;
- icFileInfo: longint;
- icKind: String255Ptr;
- icy: integer;
- icx: integer;
- icTextY: integer;
- icTitleLen: integer;
- icName: String[33];
- icLocalAccess: integer;
- icForked: integer;
- icFBlocks: longint;
- icFBytes: longint;
- icCDate: TimeRec;
- icMDate: TimeRec;
- icIcon: longint;
- icSmallIcon: longint;
- icRBundle: Handle;
- icOneDocOffset: longint;
- icInfo: WindowPtr;
- icDevNum: integer;
- icDevInfo: integer;
- icOptionList: integer;
- icFST: integer;
- bodyOfOptionList: packed array[1..36] of byte;
- icNetworkAccess: longint;
- END;
-
- finderWindBlkPtr = ^finderWindBlk;
- finderWindBlk = RECORD
- windIcons: iconObjHandle;
- windID: integer;
- windView: integer;
- windIc: iconObjHandle;
- windDiskIc: iconObjHandle;
- windItems: integer;
- windUsed: longint;
- windFree: longint;
- windFST: integer;
- windAccess: integer;
- windDirty: integer;
- windTitle: String[53];
- windMenuItem: integer;
- windMenuText: String[51];
- windDate: TimeRec;
- windPathLength: integer; { length of GS/OS string path }
- windPathChars: packed array[1..989] of char;
- END;
-
- { finderSays DataIn Structures }
-
- finderSaysHelloInPtr = ^finderSaysHelloIn;
- finderSaysHelloIn = RECORD
- pCount: integer;
- versNum: longint;
- finderUserID: integer;
- iconObjectSize: integer;
- END;
-
- finderSaysMItemSelectedInPtr = ^finderSaysMItemSelectedIn;
- finderSaysMItemSelectedIn = RECORD
- pCount: integer;
- menuItemID: integer;
- menuID: integer;
- modifiers: integer;
- END;
-
- finderSaysBeforeOpenInPtr = ^finderSaysBeforeOpenIn;
- finderSaysBeforeOpenIn = RECORD
- pCount: integer;
- pathname: GSString255Ptr;
- rectangle: RectPtr;
- filetype: integer;
- auxtype: longint;
- modifiers: integer;
- theIconObj: iconObjHandle;
- printFlag: integer;
- END;
- finderSaysOpenFailedIn = finderSaysBeforeOpenIn;
- finderSaysOpenFailedInPtr = finderSaysBeforeOpenInPtr;
-
- finderSaysBeforeCopyInPtr = ^finderSaysBeforeCopyIn;
- finderSaysBeforeCopyIn = RECORD
- pCount: integer;
- sourcePathname: GSString255Ptr;
- destinationPathname: GSString255Ptr;
- END;
-
- finderSaysBeforeRenameInPtr = ^finderSaysBeforeRenameIn;
- finderSaysBeforeRenameIn = RECORD
- pCount: integer;
- oldPathname: GSString255Ptr;
- newPathname: GSString255Ptr;
- filetype: integer;
- auxtype: longint;
- END;
-
- finderSaysKeyHitInPtr = ^finderSaysKeyHitIn;
- finderSaysKeyHitIn = RECORD
- pCount: integer;
- message: integer; { key code }
- modifiers: integer;
- END;
-
- { finderSays DataOut structures }
-
- finderSaysMItemSelectedOutPtr = ^finderSaysMItemSelectedOut;
- finderSaysMItemSelectedOut = RECORD
- recvCount: integer;
- abortItFlag: integer;
- END;
-
- finderSaysBeforeCopyOutPtr = ^finderSaysBeforeCopyOut;
- finderSaysBeforeCopyOut = RECORD
- recvCount: integer;
- abortFlag: integer; { 0=continue, 1=abort, 2-$FFFF=reserved }
- END;
-
- finderSaysBeforeRenameOutPtr = ^finderSaysBeforeRenameOut;
- finderSaysBeforeRenameOut = RECORD
- recvCount: integer;
- abortFlag: integer; { nonzero to abort rename }
- END;
-
- { tellFinder DataIn Structures }
-
- tellFinderLaunchThisInPtr = ^tellFinderLaunchThisIn;
- tellFinderLaunchThisIn = RECORD
- launchOrPrint: integer;
- pathname: GSString255Ptr;
- END;
-
- tellFinderMItemSelectedInPtr = ^tellFinderMItemSelectedIn;
- tellFinderMItemSelectedIn = RECORD
- menuItemID: integer;
- modifiers: integer;
- flags: integer; { bit 15 = hilite, 14-0 = reserved }
- END;
-
- tellFinderMatchFileToIconInPtr = ^tellFinderMatchFileToIconIn;
- tellFinderMatchFileToIconIn = RECORD
- pCount: integer;
- votingBits: integer;
- whichMatch: integer; { 1 or higher }
- filetype: integer;
- auxtype: longint;
- matchFilenamePtr: Ptr;
- createFileInfoPtr: Ptr;
- modFileInfoPtr: Ptr;
- localAccess: integer;
- flags: integer; { bit 15 = extended file, 14-0 = reserved }
- optionListPtr: Ptr;
- combinedEOF: longint;
- END;
-
- tellFinderAddBundleInPtr = ^tellFinderAddBundleIn;
- tellFinderAddBundleIn = RECORD
- addHow: integer;
- pathnamePtr: Ptr;
- desktopPathnamePtr: Ptr;
- rBundleID: longint;
- END;
-
- tellFinderCheckDatabaseInPtr = ^tellFinderCheckDatabaseIn;
- tellFinderCheckDatabaseIn = RECORD
- update: integer;
- updatePathnamePtr: ptr;
- rVersionPtr: ptr; { must be locked }
- END;
-
- tellFinderSpecialPreferencesInPtr = ^tellFinderSpecialPreferencesIn;
- tellFinderSpecialPreferencesIN = RECORD
- pCount: integer; { minimum 1 }
- dragHDtoTrash: integer; { 0=disallow, 1=allow }
- END;
-
- { tellFinder DataOut Structures }
-
- tellFinderGetDebugInfoOutPtr = ^tellFinderGetDebugInfoOut;
- tellFinderGetDebugInfoOut = RECORD
- recvCount: integer;
- finderResult: integer;
- pCount: integer;
- directPage: integer;
- deskIcon: handle;
- nameChainH: handle;
- filetypeBlock: ptr;
- deviceBlock: ptr;
- masterChainH: handle;
- rFPListHandle: handle;
- rFPCount: integer;
- reserved: array[1..64] of longint;
- END;
-
- tellFinderAreYouThereOutPtr = ^tellFinderAreYouThereOut;
- tellFinderAreYouThereOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderOpenWindowOutPtr = ^tellFinderOpenWindowOut;
- tellFinderOpenWindowOut = RECORD
- recvCount: integer;
- finderResult: integer;
- window: WindowPtr;
- END;
-
- tellFinderCloseWindowOutPtr = ^tellFinderCloseWindowOut;
- tellFinderCloseWindowOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderGetSelectedIconsOutPtr = ^tellFinderGetSelectedIconsOut;
- tellFinderGetSelectedIconsOut = RECORD
- recvCount: integer;
- finderResult: integer;
- iconWindowPtr: WindowPtr;
- stringListHandle: Handle;
- END;
-
- tellFinderLaunchThisOutPtr = ^tellFinderLaunchThisOut;
- tellFinderLaunchThisOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderShutDownOutPtr = ^tellFinderShutDownOut;
- tellFinderShutDownOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderMItemSelectedOutPtr = ^tellFinderMItemSelectedOut;
- tellFinderMItemSelectedOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderMatchFileToIconOutPtr = ^tellFinderMatchFileToIconOut;
- tellFinderMatchFileToIconOut = RECORD
- recvCount: integer;
- finderResult: integer;
- oneDocOffset: longint; { NIL if no match }
- rBundleHandle: handle; { NIL if no match }
- smallIconHandle: handle; { never NIL }
- largeIconHandle: handle; { never NIL }
- rFinderPathHandle: handle; { NIL if no one owns icon }
- END;
-
- tellFinderAddBundleOutPtr = ^tellFinderAddBundleOut;
- tellFinderAddBundleOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderAboutChangeOutPtr = ^tellFinderAboutChangeOut;
- tellFinderAboutChangeOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderCheckDatabaseOutPtr = ^tellFinderCheckDatabaseOut;
- tellFinderCheckDatabaseOut = RECORD
- recvCount: integer;
- finderResult: integer;
- match: integer; { 0 if no match found, nonzero if match found }
- END;
-
- tellFinderColorSelectionOutPtr = ^tellFinderColorSelectionOut;
- tellFinderColorSelectionOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderAddToExtrasOutPtr = ^tellFinderAddToExtrasOut;
- tellFinderAddToExtrasOut = RECORD
- recvCount: integer;
- finderResult: integer;
- menuItemID: integer;
- menuID: integer;
- END;
-
- tellFinderIdleHowLongOutPtr = ^tellFinderIdleHowLongOut;
- tellFinderIdleHowLongOut = RECORD
- recvCount: integer;
- finderResult: integer;
- tickCount: longint;
- END;
-
- tellFinderGetWindowIconsOutPtr = ^tellFinderGetWindowIconsOut;
- tellFinderGetWindowIconsOut = RECORD
- recvCount: integer;
- finderResult: integer;
- stringListHandle: handle;
- END;
-
- tellFinderGetWindowInfoOutPtr = ^tellFinderGetWindowInfoOut;
- tellFinderGetWindowInfoOut = RECORD
- recvCount: integer;
- finderResult: integer;
- windowType: integer;
- windView: integer;
- windFST: integer;
- windTitle: ptr;
- windPath: ptr;
- reserved1, reserved2: longint;
- END;
-
- tellFinderRemoveFromExtrasOutPtr = ^tellFinderRemoveFromExtrasOut;
- tellFinderRemoveFromExtrasOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- tellFinderSpecialPreferencesOutPtr = ^tellFinderSpecialPreferencesOut;
- tellFinderSpecialPreferencesOut = RECORD
- recvCount: integer;
- finderResult: integer;
- END;
-
- IMPLEMENTATION
-
- END.
-